home *** CD-ROM | disk | FTP | other *** search
/ AMIGA-CD 2 / Amiga-CD - Volume 2.iso / ungepackte_daten / 1995 / 5 / 02 / tips&tricks / formatestr.e < prev    next >
Encoding:
Text File  |  1995-06-01  |  854 b   |  45 lines

  1. OPT MODULE
  2.  
  3. -> für E-Strings muß diese Funktion benutzt werden
  4. EXPORT PROC formmatEStr(ziel, fstr, data)
  5.        formatStr(ziel,fstr,data,StrMax(ziel))
  6.        SetStr(ziel,StrLen(ziel))
  7. ENDPROC
  8.  
  9. -> für normale Strings
  10. EXPORT PROC formatStr(ziel, fstr, data, maxlen)
  11.        MOVEM.L     D2-D3,-(A7)
  12.        MOVE.L      ziel,A3
  13.        MOVE.L      maxlen,D3
  14.        MOVEQ       #0,D2
  15.        RawDoFmt(fstr,data,{put_format},ziel)
  16.        MOVEM.L     (A7)+,D2-D3
  17. ENDPROC
  18.  
  19. put_format:
  20.        ADDQ.L      #1,D2
  21.        CMP.L       D2,D3
  22.        BGE         put_end
  23.  
  24.        MOVE.B      D0,(A3)+
  25.        RTS
  26.  
  27. put_end:
  28.        MOVE.B      #0,(A3)
  29.        RTS
  30.  
  31. ->
  32. -> Anwendungsbeispiel
  33. ->
  34.  
  35. MODULE '*modules/formatstr'
  36.  
  37. PROC main()
  38.        DEF s[40]:STRING
  39.  
  40.        formatEStr(s,'%s%ld%s%lc',
  41.            ['Das ist Nummer',3,' und Buchstabe ',"A"])
  42.        WriteF('\s',s)
  43. ENDPROC
  44.  
  45.